package cn.getech.data.development.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 上传版本包记录
 * </p>
 *
 * @author hujz
 * @since 2020-07-03
 */
@Data
public class UploadVersionLogVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Long id;

    /**
     * 上传的项目包名
     */
    private String upZipVersionName;

    /**
     * 上传的版本号
     */
    private String upZipVersionNum;

    /**
     * 导入时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime upZipTime;

    /**
     * 导入类型 0：导入  1：回滚
     */
    private Integer upZipType;

    /**
     * 上传的状态 0：成功  1：失败  2：导入中
     */
    private Integer upZipStatus;

    /**
     * 工程id
     */
    private Integer procId;

    /**
     * 老的工程id
     */
    private Integer olderProcId;

    /**
     * 版本包对应的服务器地址
     */
    private String upZipHost;

    /**
     * 版本包对应的环境名称
     */
    private String upZipEnv;

    /**
     * hdfs路径对应的zip名字
     */
    private String zipPathName;

    /**
     * 版本包原始名称
     */
    private String zipOlderName;

    /**
     * 版本包的后缀
     */
    private String zipVersionPreffix;

    /**
     * 导入阶段状态  0：上传中  1：上传完成  2：检测中 3：检测完成 4：导入数据源连接中  5：数据源导入完成  6：导入仓库表中  7：导入仓库表完成  8：导入工作流中  9：导入工作流完成
     */
    private Integer importStep;

    /***
     * 导入阶段状态  0：成功 1：失败  2：待导入  3：导入中
     */
    private Integer importStatus;

    /***
     * 是否点击确认导入 0：未点击  1：已点击
     */
    private Integer importConnect;

    /***
     * 是否点击确认导入 0：未点击  1：已点击
     */
    private Integer importTable;

    /***
     * 是否点击确认导入 0：未点击  1：已点击
     */
    private Integer importWorkflow;

    /**
     * 授权的角色，如果无授权的角色，则导入的资源会默认给创建人，若找不到该创建人，则优先授权给项目管理员
     */
    private Integer importChangeRole;

    private List<IdAndNameVO> roles;

}
